/**
 * 全局过滤器
 */

// 格式化金额
export function formatCurrency(amount) {
    if (amount === undefined || amount === null) return '¥ 0.00';

    // 将金额转换为数字并除以100（假设金额以分为单位存储）
    const value = parseFloat(amount) / 100;

    // 使用 toLocaleString 添加千位分隔符并固定两位小数
    return '¥ ' + value.toLocaleString('zh-CN', {
        minimumFractionDigits: 2,
        maximumFractionDigits: 2
    });
}

// 格式化日期
export function formatDate(dateStr) {
    if (!dateStr) return '未知日期';
    const date = new Date(dateStr);
    return date.toLocaleDateString('zh-CN', {
        year: 'numeric',
        month: '2-digit',
        day: '2-digit',
        hour: '2-digit',
        minute: '2-digit'
    });
}

// 检查用户权限
import httpInstance from '@/utils/http';

/**
 * 检查用户在特定社团中是否拥有指定权限
 * @param {number|string} userId - 用户ID
 * @param {number|string} clubId - 社团ID
 * @param {string|array} permission - 权限名称或权限数组
 * @returns {Promise<boolean>} - 返回Promise，解析为是否有权限
 */
export async function checkPermission(userId, clubId, permission) {
    try {
        const res = await httpInstance.post(`/api/club/select/${userId}/${clubId}/${permission}`)

        if (res.code === 200) {
            return res.data;
        }
        return false;
    } catch (error) {
        console.error('权限检查失败:', error);
        return false;
    }
}
// 获取系统的资金类型
export async function getFundTypes() {
    const res = await httpInstance.post('/api/sys/fundTypes');
    if (res.code === 200) {
        return res.data;
    }
}

